package org.dromara.web.system.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.web.system.domain.AppWithdrawRecord;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 用户提现记录视图对象 app_withdraw_record
 *
 * @author Lion Li
 * @date 2025-09-19
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = AppWithdrawRecord.class)
public class AppWithdrawRecordVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID，雪花算法生成
     */
    @ExcelProperty(value = "主键ID，雪花算法生成")
    private Long id;

    /**
     * 用户ID
     */
    @ExcelProperty(value = "用户ID")
    private String userId;

    /**
     * 提现金额
     */
    @ExcelProperty(value = "提现金额")
    private Long amount;

    /**
     * 提现方式（如：支付宝、微信、银行卡）
     */
    @ExcelProperty(value = "提现方式", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "如=：支付宝、微信、银行卡")
    private String withdrawMethod;

    /**
     * 提现账户信息（账号或卡号，建议加密存储）
     */
    @ExcelProperty(value = "提现账户信息", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "账=号或卡号，建议加密存储")
    private String accountInfo;

    /**
     * 提现状态：0=待审核，1=审核通过，2=审核拒绝，3=已打款，4=打款失败
     */
    @ExcelProperty(value = "提现状态：0=待审核，1=审核通过，2=审核拒绝，3=已打款，4=打款失败")
    private Long status;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
